Skip to content

ref(cli): Inject instance-based command dependencies - #39

Merged
philprime merged 3 commits into
mainfrom
philprime/feat/interactive-cli-foundation
Sep 28, 2026
Merged

philprime merged 3 commits into
mainfrom
philprime/feat/interactive-cli-foundation

Conversation

@philprime

Copy link
Copy Markdown
Member

Replace the static dependency container with an instance-based Dependencies.shared and give each executable command a run(deps:) injection seam. Debug builds use per-dependency provider protocols for test doubles, while release builds use concrete aliases to keep the production path lean. Independent dependency instances can now be constructed in tests.

This also adds terminal-capability injection and --non-interactive output-mode selection as groundwork for the interactive CLI. Documentation commands still render once, and the root welcome screen is intentionally deferred to a follow-up.

Replace static dependency access with a shared instance and per-command provider protocols so tests can supply independent clients, renderers, cache, and telemetry. Add terminal capability and output-mode scaffolding for future interactive commands.
@philprime
philprime marked this pull request as ready for review September 28, 2026 22:27
@philprime
philprime enabled auto-merge (squash) September 28, 2026 22:27
@philprime
philprime merged commit 925f224 into main Sep 28, 2026
15 checks passed
@philprime
philprime deleted the philprime/feat/interactive-cli-foundation branch September 28, 2026 22:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant